package com.ym.soso.service.impl;

import com.ym.core.utils.tkmybatis.BaseSVImpl;
import com.ym.soso.dao.RegistryWayDao;
import com.ym.soso.domain.entity.RegistryWayEntity;
import com.ym.soso.domain.param.RegistryWayQueryParam;
import com.ym.soso.domain.param.RegistryWayUpdateParam;
import com.ym.soso.domain.vo.RegistryWayListPcVO;
import com.ym.soso.service.IRegistryWaySV;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
* 挂号方式Service业务层处理
*
* @author ym
* @date 2020-09-02
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class RegistryWaySVImpl extends BaseSVImpl<RegistryWayEntity,RegistryWayDao> implements IRegistryWaySV {

	/**
	 * 查询挂号方式列表
	 *
	 * @param queryParam 挂号方式 查询参数
	 * @return 挂号方式
	 */
	@Override
	public List<RegistryWayListPcVO> selectListPC(RegistryWayQueryParam queryParam) {
		List<RegistryWayListPcVO> registryWays = mapper.selectListPC(queryParam);
		return registryWays;
	}

	/**
	 * 新增挂号方式
	 *
	 * @param updateParam 挂号方式 新增参数
	 * @return 结果
	 */
	@Override
	public Long insertPC(RegistryWayUpdateParam updateParam) {
            RegistryWayEntity entity = updateParam.covert();
		this.insert(entity);
		return entity.getId();
	}

	/**
	 * 修改挂号方式
	 *
	 * @param updateParam 挂号方式 修改参数
	 * @return 结果
	 */
	@Override
	public int updateByIdPC(RegistryWayUpdateParam updateParam) {
            RegistryWayEntity entity = updateParam.covert();
		int result = this.updateById(entity);
		return result;
	}

	@Override
	public int batchInsertSelective(List<RegistryWayEntity> collect) {
		return mapper.batchInsertSelective(collect);
	}
}
